Introduction

One of the most powerful reporting techniques in RMarkdown is to generate also the Markdown code (especially headers and navigation bar) from within R. It is the purpose of this notebook to demonstrate this.

The code does three things:

  1. Keep analysis results in a (possibly nested) list results. Usually, this part is done before heading for RMarkdown.
  2. Move the contents of results to a (non-nested) list out along with additional markdown elements like headers. The order of elements will be the one appearing in the resulting document.
  3. Loop over out and render each element with its corresponding render() method.

Results

Data iris

The dataset has 150 rows.

Top six rows

Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

A jittered scatter plot

A corresponding interactive plot

Data mtcars

The dataset has 32 rows.

Top six rows

mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

A jittered scatter plot

A corresponding interactive plot

Data CO2

The dataset has 84 rows.

Top six rows

Plant Type Treatment conc uptake
Qn1 Quebec nonchilled 95 16.0
Qn1 Quebec nonchilled 175 30.4
Qn1 Quebec nonchilled 250 34.8
Qn1 Quebec nonchilled 350 37.2
Qn1 Quebec nonchilled 500 35.3
Qn1 Quebec nonchilled 675 39.2

A jittered scatter plot

A corresponding interactive plot